Csit.Delta.ClientUtil.D8ParamValueFormatter
Форматирование VQT в D8ParamValueFormatter¶
Синтаксис строки форматирования¶
Строка форматирования состоит из текста, который может содержать токены первого уровня в фигурных скобках. Токены первого уровня могут содержать токены второго уровня в квадратных скобках. Каждый токен состоит из имени и опциональной строки форматирования токена, которая указывается через двоеточие. После имени токена второго уровня можно указать вопросительный знак - тогда при отсутствии соответствующего объекта токен будет проигнорирован.
В начале строки форматирования токена 1-го или 2-го уровней можно указать токены задания часового пояса и/или культуры в угловых скобках.
...{L1TOKEN:...[L2TOKEN:...]...[L2TOKEN:...]...}...{L1TOKEN}...
Каждый токен L1 и L2 имеет следующий формат
{L1TokenName} {L1TokenName:TokenFormat} или [L2TokenName] [L2TokenName?] [L2TokenName:TokenFormat] TokenFormat = [<TZ:TimezoneSpec>][<LC:CultureSpec>][FormatSpec]
Примеры:
P = {ValueUnit:0.###}, S = {StateNumber:X08}h, T = {LocalTimestamp:<TZ:USER><LC:en>hh:mm:ss dd.MM.yy} {Value:[0], [1:0.00]?} {Value:width=[Width:0.00], height=[Height:0.00]}
Токены¶
Токены для полей данных (ID8Vqt
)¶
-
Value
- только значение -
ValueXls ¹
- только значение (для совместимости с xls-отчетами) -
XState
- расширенное состояние (int
) -
State
- состояние (D8ParamValueState
) -
StateNumber ¹
- состояние (uint
) -
Quality
- качество значения (float
) -
Timestamp
- метка времени (DateTime
) -
LocalTimestamp ¹
- метка времени, сконвертированная в локальный часовой пояс пользователя (DateTime
) -
UtcTimestamp ¹
- метка времени в UTC (DateTime
) -
BasicState ¹
- базовое состояние (D8ParamValueStateBasic
) -
BasicStateNumber ¹
- базовое состояние (uint
) -
OADATE ¹
- сокращенная запись для (Value:OADATE
) -
OADATE_RAW ¹
- сокращенная запись для (Value:OADATE_RAW
)
Токены для полей НСИ (ID8ParamInfo
и ID8ParamInfoBase
)¶
-
LocalId
- локальный илентификатор (int
) -
InstanceId
- тдентификатор подсистемы (short
) -
GlobalId
- глобальный идентификатор (long
) -
SID
- строковый идентификатор -
ParamType
- тип параметра (D8ParamType
) -
Subtype
- подтип параметра (D8ParamSubtype
) -
Name
- имя -
ShortName
- краткое имя -
AdditionalName
- дополнительное имя -
AKS
- код -
Interval
- интервал значений (D8TimeInterval
) -
Step
- шаг значений (D8TimeStep
) -
Options
- флаги параметра (D8ParamOptions
) -
Units
- единицы измерения -
AggregatedUnits
- единицы измерения после агрегирования -
AggregationCoef
- коэффициент агрегирования -
ScaleName
- название шкалы -
ScaleStates
- перечень пар значение/имя всех дискретных состояний -
Min
- минимум шкалы (double
) -
Max
- максиму шкалы (double
) -
ValidLow
- низ достоверности (double
) -
ValidHigh
- верх достоверности (double
) -
RangeUp1
- первая уставка вверх (double
) -
RangeUp2
- вторая уставка вверх (double
) -
RangeDown1
- первая уставка вниз (double
) -
RangeDown2
- вторая уставка вниз (double
) -
DeltaSave
- апертура архивирования (double
) -
DeltaSend
- апертура пересылки (double
) -
DeviceName
- название устройства -
DeviceId
- идентификатор устройства (int
) -
DeviceChannel ¹
- канал устройства (string
) -
GroupName
- название группы -
GroupId
- идентификатор группы (int
)
Остальные токены¶
-
ValueUnits ¹
- значение и единицы измерения
¹ - название не соответствует имени в коде
Особенности форматирования для Value
¶
В строке форматирования для значения параметра (токен Value
) можно указать специальные символы:
OADATE
Означает, что аналоговое значение параметра нужно использовать, чтобы получить значение даты и времени в формате OLE.
Далее это значение конвертируется из UTC в часовой пояс, указанный в строке форматирования (<TZ>
).
Если часовой пояс не указан, то по умолчанию используется часовой пояс пользователя.OADATE_RAW
То же, чтоOADATE
, но по умолчанию используется часовой пояс UTC.
Например:
{Value:OADATE} {Value:OADATE:dd.MM.yy HH:mm:ss} {Value:OADATE:<TZ:+3d>dd.MM.yy HH:mm:ss} {Value:OADATE_RAW}
Кроме того OADATE
и OADATE_RAW
можно использовать как имя токена строки форматирования.